iT邦幫忙

2025 iThome 鐵人賽

DAY 8
0

來到鐵人賽的第八天。你已經完成了第一階段的挑戰,學會了如何處理基本元件、接收使用者輸入,甚至製作了一個有功能的 App。

從今天開始,我們將進入第二階段。這個階段的重點是:如何處理大量的資料,並將它們以列表的形式顯示在畫面上。

無論是 Instagram 的照片牆、Facebook 的動態牆,還是 LINE 的對話列表,它們都用到了今天的主角:RecyclerView

什麼是 RecyclerView

  • 簡單比喻:想像你有一家電影院,你不能把所有的椅子都搬到大廳給觀眾看。你會在門口放幾張椅子,當觀眾看完電影,你再把後面的椅子搬出來,重複利用這幾張椅子。RecyclerView 就是這樣一個聰明的「椅子管理員」。
  • 核心功能:它是一個可以 重複利用 畫面上有限的元件,來顯示無限多個資料的元件。這不僅能節省記憶體,還能讓 App 保持流暢。

RecyclerView 的世界裡,有三個重要的角色,你需要先了解:

  • RecyclerView 本身:就是我們的「椅子管理員」,它負責管理畫面上的所有列表項目。
  • Adapter (適配器):就是我們的「電影院經理」,它負責告訴「椅子管理員」,現在要給觀眾看哪一排的椅子,以及椅子上要放什麼電影海報。
  • LayoutManager (佈局管理器):就是我們的「排隊規則」,它負責告訴 RecyclerView,這些椅子要排成一排直線、還是像網格一樣。

今天,我們只會專注在 RecyclerView 的基礎使用,並建立一個最簡單的列表。

實作時間:打造一個簡單的列表

1. 在你的 App 中加入 RecyclerView 元件

首先,我們需要在 app/build.gradle 檔案中,加入 RecyclerView 的函式庫。

Groovy

dependencies { // ... // 加入這行 implementation 'androidx.recyclerview:recyclerview:1.2.1' }

然後點擊右上角的 "Sync Now",讓 Android Studio 下載函式庫。

接下來,打開你的 activity_main.xml 檔案。

  • Palette 面板中,找到 Containers 分頁。
  • RecyclerView 拖曳到你的畫面上。給它一個 ID,例如 myRecyclerView

2. 準備你的列表資料

我們需要在 MainActivity.java 中,準備好要顯示在列表上的資料。

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {
    // ...
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // ...
        // 準備你的資料
        List<String> dataList = new ArrayList<>();
        dataList.add("這是第一個項目");
        dataList.add("這是第二個項目");
        dataList.add("這是第三個項目");
        // ...
    }
}`

3. 準備你的列表項目畫面 (XML)

現在,我們需要為列表中的每一個項目,設計一個單獨的畫面。

  • app/res/layout 資料夾上點擊右鍵,選擇 New -> Layout Resource File
  • 將檔案命名為 list_item.xml
  • 在這個檔案中,你可以放入任何元件來設計你的列表項目。我們這裡只放入一個 TextView,並給它一個 ID,例如 itemTextView

4. 撰寫你的 Adapter (適配器)

這個部分比較複雜,我們將在明天的文章中詳細說明,今天只需要知道,需要一個名為 MyAdapter 的新檔案。

  • java/com.你的專案名稱 資料夾中,點擊右鍵,選擇 New -> Java Class
  • 將類別命名為 MyAdapter

今日總結

今天我們學習了 RecyclerView 的基本概念,它是一個用來顯示可滾動列表的強大工具。我們也完成了 App 的前期準備,包括:

  • 在專案中加入 RecyclerView 的函式庫。
  • 在畫面中放入 RecyclerView 元件。
  • 準備好要顯示在列表上的資料。
  • 為列表中的單一項目,設計一個獨立的畫面。

明天,我們將繼續學習最重要的部分:如何撰寫 Adapter,讓你的資料真正顯示在 RecyclerView 上!

明天見!


上一篇
Day7- 第一階段挑戰:數字大小比較 App
下一篇
Day9-RecyclerView (下篇)
系列文
Android 開發者養成計畫:從程式邏輯到作品集實戰22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言